package reflect;

public class Test04 {

    static{
        System.out.println("Main方法被加载。");
    }

    public static void main(String[] args) throws ClassNotFoundException {

        // 1. 主动引用
        //Son son = new Son();
        // 2. 反射
        //Class c=Class.forName("reflect.Son");
        //----被动调用-------
        // 1. 父类静态变量
        //System.out.println(Son.b); // 只加载父类
        // 2. 数组定义类
        //Son[] sons = new Son[10];  // 只有Main
        // 3. 常量
        System.out.println(Son.M);   // Main , 1234
    }
}
class Father{
    static {
        System.out.println("Father类被加载。");
    }
    static int b=88;
}
class Son extends Father{
    static {
        System.out.println("Son类被加载。");
        m=300;
    }
    static int m=100;
    static final int M=1234;
}
